/*
 * Copyright (c) 2017. 深圳掌控网络有限公司. All rights reserved.
 */

package com.yiqi.lottery.feature.login.contract;

import com.suozhang.framework.entity.bo.UserInfoBo;
import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;

import com.yiqi.lottery.entity.bo.RegisterBo;
import io.reactivex.Observable;

/**
 *      LIJUWEN
 * @email yiyayiyayaoljw@gmail.com
 * @date 2017/4/11 9:06
 */
public interface RegisterContract {

    interface Model {
        Observable<UserInfoBo> userRegister(RegisterBo registerBo);

        Observable<String> userRegisterSendCode(String mobile);

        Observable<String> userResetPwd(RegisterBo registerBo);
    }

    interface View extends BaseView {
        void showRegisterSuccess();

        void showRegisterError(String error);

        void showSendCodeSuccess(String code);

        void showSendCodeError(String error);
        void showResetSuccess(String userInfoBo);

        void showResetError(String error);
    }


    interface Presenter extends BasePresenter {
        void doUserRegister(String mobile, String username, String code, String password, String invite_code);

        void doUserRegisterSendCode(String mobile);
        void doUserResetPwd(String mobile,String code,String password,String rePassword);
    }
}
